home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / c / moush101.zip / MOUSE.TXT < prev    next >
Text File  |  1992-07-26  |  35KB  |  962 lines

  1. ----------330000-----------------------------
  2. INT 33 - MS MOUSE - RESET DRIVER AND READ STATUS
  3.     AX = 0000h
  4. Return: AX = status
  5.         0000h hardware/driver not installed
  6.         FFFFh hardware/driver installed
  7.     BX = number of buttons
  8.         0000h other than two
  9.         0002h two buttons (many drivers)
  10.         0003h Mouse Systems/Logitech three-button mouse
  11.         FFFFh two buttons
  12. Notes:  to use mouse on a Hercules-compatible monographics card in graphics
  13.       mode, you must first set 0040h:0049h to 6 for page 0 or 5 for page 1,
  14.       and then call this function.  Logitech drivers v5.01 and v6.00
  15.       reportedly do not correctly use Hercules graphics in dual-monitor
  16.       systems, while version 4.10 does.
  17.     the Logitech mouse driver contains the signature string "LOGITECH" 
  18.       three bytes past the interrupt handler; many of the Logitech mouse
  19.       utilities check for this signature.
  20. SeeAlso: AX=0021h,INT 62/AX=007Ah,INT 74
  21. ----------330001-----------------------------
  22. INT 33 - MS MOUSE - SHOW MOUSE CURSOR
  23.     AX = 0001h
  24. SeeAlso: AX=0002h,INT 16/AX=FFFEh,INT 62/AX=007Bh
  25. ----------330002-----------------------------
  26. INT 33 - MS MOUSE - HIDE MOUSE CURSOR
  27.     AX = 0002h
  28. Note:   multiple calls to hide the cursor will require multiple calls to
  29.       function 01h to unhide it.
  30. SeeAlso: AX=0001h,AX=0010h,INT 16/AX=FFFFh,INT 62/AX=007Bh
  31. ----------330003-----------------------------
  32. INT 33 - MS MOUSE - RETURN POSITION AND BUTTON STATUS
  33.     AX = 0003h
  34. Return: BX = button status
  35.        bit 0  left button pressed if 1
  36.        bit 1  right button pressed if 1
  37.        bit 2  middle button pressed if 1 (Mouse Systems/Logitech mouse)
  38.     CX = column
  39.     DX = row
  40. SeeAlso: AX=0004h,AX=000Bh,INT 2F/AX=D000h"ZWmous"
  41. ----------330004-----------------------------
  42. INT 33 - MS MOUSE - POSITION MOUSE CURSOR
  43.     AX = 0004h
  44.     CX = column
  45.     DX = row
  46. Note:   the row and column are truncated to the next lower multiple of the cell
  47.       size; however, some versions of the Microsoft documentation
  48.       incorrectly state that the coordinates are rounded
  49. SeeAlso: AX=0003h,INT 62/AX=0081h
  50. ----------330005-----------------------------
  51. INT 33 - MS MOUSE - RETURN BUTTON PRESS DATA
  52.     AX = 0005h
  53.     BX = button
  54.         0000h left
  55.         0001h right
  56.         0002h middle (Mouse Systems/Logitech mouse)
  57. Return: AX = button states
  58.         bit 0 left button pressed if 1
  59.         bit 1 right button pressed if 1
  60.         bit 2 middle button pressed if 1 (Mouse Systems/Logitech mouse)
  61.     BX = number of times specified button has been pressed since last call
  62.     CX = column at time specified button was last pressed
  63.     DX = row at time specified button was last pressed
  64. SeeAlso: AX=0006h,INT 62/AX=007Ch
  65. ----------330006-----------------------------
  66. INT 33 - MS MOUSE - RETURN BUTTON RELEASE DATA
  67.     AX = 0006h
  68.     BX = button
  69.         0000h left
  70.         0001h right
  71.         0002h middle (Mouse Systems/Logitech mouse)
  72. Return: AX = button states
  73.         bit 0 left button pressed if 1
  74.         bit 1 right button pressed if 1
  75.         bit 2 middle button pressed if 1 (Mouse Systems/Logitech mouse)
  76.     BX = number of times specified button has been released since last call
  77.     CX = column at time specified button was last released
  78.     DX = row at time specified button was last released
  79. SeeAlso: AX=0005h,INT 62/AX=007Ch
  80. ----------330007-----------------------------
  81. INT 33 - MS MOUSE - DEFINE HORIZONTAL CURSOR RANGE
  82.     AX = 0007h
  83.     CX = minimum column
  84.     DX = maximum column
  85. SeeAlso: AX=0008h,AX=0010h,INT 62/AX=0080h
  86. ----------330008-----------------------------
  87. INT 33 - MS MOUSE - DEFINE VERTICAL CURSOR RANGE
  88.     AX = 0008h
  89.     CX = minimum row
  90.     DX = maximum row
  91. SeeAlso: AX=0007h,AX=0010h,INT 62/AX=0080h
  92. ----------330009-----------------------------
  93. INT 33 - MS MOUSE - DEFINE GRAPHICS CURSOR
  94.     AX = 0009h
  95.     BX = column of cursor hot spot in bitmap (-16 to 16)
  96.     CX = row of cursor hot spot (-16 to 16)
  97.     ES:DX -> bitmap
  98.         16 words screen mask
  99.         16 words cursor mask
  100.             each word defines the sixteen pixels of a row, low bit
  101.             rightmost
  102. SeeAlso: AX=000Ah,AX=0012h,INT 62/AX=007Fh
  103. ----------33000A-----------------------------
  104. INT 33 - MS MOUSE - DEFINE TEXT CURSOR
  105.     AX = 000Ah
  106.     BX = hardware/software text cursor
  107.         0000h software
  108.         CX = screen mask
  109.         DX = cursor mask
  110.         0001h hardware
  111.         CX = start scan line
  112.         DX = end scan line
  113. Note:   when the software cursor is selected, the char/attribute data at the
  114.       current screen position is ANDed with the screen mask and then XORed
  115.       with the cursor mask
  116. SeeAlso: AX=0009h,INT 62/AX=007Eh
  117. ----------33000B-----------------------------
  118. INT 33 - MS MOUSE - READ MOTION COUNTERS
  119.     AX = 000Bh
  120. Return: CX = number of mickeys mouse moved horizontally since last call
  121.     DX = number of mickeys mouse moved vertically
  122. Notes:  a mickey is the smallest increment the mouse can sense
  123.     positive values indicate down/right
  124. SeeAlso: AX=0003h,AX=001Bh
  125. ----------33000C-----------------------------
  126. INT 33 - MS MOUSE - DEFINE INTERRUPT SUBROUTINE PARAMETERS
  127.     AX = 000Ch
  128.     CX = call mask
  129.          bit 0 call if mouse moves
  130.          bit 1 call if left button pressed
  131.          bit 2 call if left button released
  132.          bit 3 call if right button pressed
  133.          bit 4 call if right button released
  134.          bit 5 call if middle button pressed (Mouse Systems/Logitech mouse)
  135.          bit 6 call if middle button released (Mouse Sys/Logitech mouse)
  136.     ES:DX -> FAR routine
  137. Notes:  when the subroutine is called, it is passed the following values:
  138.       AX = condition mask (same bit assignments as call mask)
  139.       BX = button state
  140.       CX = cursor column
  141.       DX = cursor row
  142.       SI = horizontal mickey count
  143.       DI = vertical mickey count
  144.     some versions of the Microsoft documentation incorrectly state that CX
  145.       bit 0 means call if mouse cursor moves, and swap the meanings of SI
  146.       and DI
  147. SeeAlso: AX=0018h
  148. ----------33000D-----------------------------
  149. INT 33 - MS MOUSE - LIGHT PEN EMULATION ON
  150.     AX = 000Dh
  151. SeeAlso: AX=000Eh
  152. ----------33000E-----------------------------
  153. INT 33 - MS MOUSE - LIGHT PEN EMULATION OFF
  154.     AX = 000Eh
  155. SeeAlso: AX=000Dh
  156. ----------33000F-----------------------------
  157. INT 33 - MS MOUSE - DEFINE MICKEY/PIXEL RATIO
  158.     AX = 000Fh
  159.     CX = number of mickeys per 8 pixels horizontally (default 8)
  160.     DX = number of mickeys per 8 pixels vertically (default 16)
  161. SeeAlso: AX=0013h,AX=001Ah,INT 62/AX=0082h
  162. ----------330010-----------------------------
  163. INT 33 - MS MOUSE - DEFINE SCREEN REGION FOR UPDATING
  164.     AX = 0010h
  165.     CX,DX = X,Y coordinates of upper left corner
  166.     SI,DI = X,Y coordinates of lower right corner
  167. Note:   mouse cursor is hidden in the specified region, and needs to be
  168.       explicitly turned on again
  169. SeeAlso: AX=0001h,AX=0002h,AX=0007h,AX=0010h"Genius MOUSE"
  170. ----------330010-----------------------------
  171. INT 33 - Genius MOUSE - DEFINE SCREEN REGION FOR UPDATING
  172.     AX = 0010h
  173.     ES:DX -> update region list (see below)
  174.  Notes:   mouse cursor is hidden in the specified region, and needs to be
  175.       explicitly turned on again
  176.     this version of the call is described in an August 1988 version of the
  177.       Genius Mouse programmer's reference; it has presumably been changed
  178.       to conform to the Microsoft version shown above
  179. SeeAlso: AX=0001h,AX=0002h,AX=0007h,AX=0010h"MS MOUSE"
  180.  
  181. Format of update region list:
  182. Offset  Size    Description
  183.  00h    WORD    left-most column
  184.  02h    WORD    top-most row
  185.  04h    WORD    right-most column
  186.  06h    WORD    bottom-most row
  187. ----------330012-----------------------------
  188. INT 33 - MS MOUSE - SET LARGE GRAPHICS CURSOR BLOCK
  189.     AX = 0012h
  190.     BH = cursor width in words
  191.     CH = rows in cursor
  192.     BL = horizontal hot spot (-16 to 16)
  193.     CL = vertical hot spot (-16 to 16)
  194.     ES:DX -> bit map of screen and cursor maps
  195. Return: AX = FFFFh if successful
  196. SeeAlso: AX=0009h
  197. ----------330013-----------------------------
  198. INT 33 - MS MOUSE - DEFINE DOUBLE-SPEED THRESHOLD
  199.     AX = 0013h
  200.     DX = threshold speed in mickeys/second, 0000h = default of 64/second
  201. Note:   if speed exceeds threshold, the cursor's on-screen motion is doubled
  202. SeeAlso: AX=000Fh,AX=001Bh,AX=002Ch
  203. ----------330014-----------------------------
  204. INT 33 - MS MOUSE - EXCHANGE INTERRUPT SUBROUTINES
  205.     AX = 0014h
  206.     CX = call m